package com.wky1.wang1.AliyunOss;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;
@Component
public class AliyunOSSutils {
    // Endpoint以华东1（杭州）为例，其它Region请按实际情况填写。
    @Value("${aliyun.oss.endpoint}")
    private String endpoint ;
    //填写阿里云OSS ID
    @Value("${aliyun.oss.accessKeyId}")
    private String accessKeyId;
    //填写阿里云OSS 秘钥
    @Value("${aliyun.oss.accessKeySecret}")
    private String accessKeySecret;
    // 填写Bucket名称，在阿里云oss里创建的名字。
    @Value("${aliyun.oss.bucketName}")
    private String bucketName ;
public String upload(MultipartFile file) throws IOException {
    //获取上传文件的输入流
    InputStream inputStream=file.getInputStream();

    //获取文件的原始文件名
    String Filename=file.getOriginalFilename();
    //创建新的文件名
    String newFilename= UUID.randomUUID().toString()+Filename.substring(Filename.lastIndexOf("."));
    //上传到阿里云OSS里
    OSS ossClient = new OSSClientBuilder().build(endpoint,accessKeyId,accessKeySecret );
    ossClient.putObject(bucketName,newFilename,inputStream);
    //创建文件访问的路径
    String url=endpoint.split("//")[0]+"//"+bucketName+"."+endpoint.split("//")[1]+"/"+newFilename;
    ossClient.shutdown();
    //将路径返回到前端
    return url;
}

}
